package br.com.virtual.cadastrar.service;

import java.util.List;

import br.com.virtual.base.enums.ActionFormEnum;
import br.com.virtual.cadastrar.model.Endereco;
import br.com.virtual.cadastrar.model.Pessoa;
import br.com.virtual.cadastrar.model.Produto;
import br.com.virtual.cadastrar.model.Usuario;
import br.com.virtual.vender.model.Interesse;

public interface PessoaService {

	Pessoa findByEmail(String email);

	Pessoa read(Long id);
	
	void delete(Pessoa pessoa);

	List<Pessoa> list();

	List<String> getEmailListToNews();
	
	Interesse persistirInteresse(Interesse interesse, ActionFormEnum actionForm);

	Usuario persistirUsuario(Usuario usuario, ActionFormEnum actionForm);

	void persistirEnderecos(List<Endereco> enderecos, ActionFormEnum actionForm);
	
	Pessoa loadAvaliacao(Pessoa pessoa);

	List<Pessoa> getCandidatosASemelhante(List<Produto> produtosAvaliados);

	List<Pessoa> listToShow();

}
